


layui.config({
    base: '/layui/lay/modules/'
}).extend({
    treetable: 'treetable'
}).use(['layer', 'table', 'treetable'], function () {
    var $ = layui.jquery;
    var table = layui.table;
    var layer = layui.layer;
    var treetable = layui.treetable;

    // 渲染表格
    var renderTable = function () {
        //树桩表格参考文档：https://gitee.com/whvse/treetable-lay
        layer.load(2);
        treetable.render({
            treeColIndex: 1,//树形图标显示在第几列
            treeSpid: 0,//最上级的父级id
            treeIdName: 'permissionId',//id字段的名称
            treePidName: 'pid',//pid字段的名称
            treeDefaultClose: false,//是否默认折叠
            treeLinkage: true,//父级展开时是否自动展开所有子级
            elem: '#permissionTable',
            /*url: '/json/data.json',*/
            url: 'list',
            page: false,
            cols: [[
                {type: 'numbers', title: '编号'},
                {field: 'permissionId', title: '资源编号（名称）'},
                {field: 'permissionName', title: '资源名称（序号）'},
                {field: 'permissionUrl', title: '资源路径'},

                {field: 'pid', title: '排序'},
                {field: 'resType', title: '类型',
                    templet: function(d){
                        if(d.resType==0){
                            return '导航菜单';
                        }else{
                            return '资源菜单';
                        }
                    }
                },
                {title: '操作', width:170, templet:complain ,fixed:"right",align:"center"}
            ]],
            done: function () {
                layer.closeAll('loading');
            }
        });
    };

    renderTable();

    //触发三个button按钮
    $('#btn-expand').click(function () {
        treetable.expandAll('#permissionTable');
    });
    $('#btn-fold').click(function () {
        treetable.foldAll('#permissionTable');
    });

    $('#btn-refresh').click(function () {
        renderTable();
    });

    function complain(d){//操作中显示的内容
        if(d.permissionUrl!='' && d.permissionUrl!=null){
            return [
                '<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>',
                '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>',
            ].join('');
        }else{
            return '';
        }
    }
    $(".addMgrRescmenu_btn").click(function(){
        addMgrRescmenu();
    })

    //添加资源
    function addMgrRescmenu(){

        var index = layui.layer.open({
            title : "添加资源菜单",
            type : 2,
            shadeClose: false,           //弹出框之外的地方是否可以点击
            area : ["400px","450px"],
            content : "mgrRescmenuAdd",
            success : function(layero, index){
                var body = layui.layer.getChildFrame('body', index);
            }
        })
    }
    //修改资源
    function updateMgrRescmenu(data){

        var index = layui.layer.open({
            title : "修改资源菜单",
            type : 2,
            shadeClose: false,           //弹出框之外的地方是否可以点击
            area : ["400px","450px"],
            content : "mgrRescmenuUpdate?rescId="+data.pid+"&href="+data.permissionUrl,
            success : function(layero, index){
                var body = layui.layer.getChildFrame('body', index);
            }
        })
    }

    //监听工具条
    table.on('tool(permissionTable)', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;
        if(data.permissionName!=null && data.permissionName!=""){
            if (layEvent === 'del') {
                //删除
                layer.confirm('删除后将导致系统运行不稳定，确定删除此菜单资源？',{icon:3, title:'提示信息'},function(index){
                    $.post("delete",{
                        rescId : data.pid,
                        href : data.permissionUrl,
                    },function(data){
                        data = JSON.parse(data)
                        if(data.flag ==="success"){
                            layer.msg("删除成功");
                            renderTable();
                            layer.close(index);
                        }else{
                            layer.msg("删除失败！", {icon: 2});
                        }
                    })
                });
            } else if (layEvent === 'edit') {
                //layer.msg('修改' + data.permissionUrl+data.pid);
                updateMgrRescmenu(data);
            }
        }
    });
});